Time division multiple access (TDMA) communication systems share a common transmission medium between a number of simultaneous users. Each user's transmission does not interfere with that of the other users because their transmissions are separated from each other in time. A requirement of an effective TDMA communications device, such as a cellular telephone, is that the device retain accurate time synchronization with respect to the other users.
Base stations in a GSM cellular phone system may not be synchronized with each other. When a mobile handset moves from one base station's coverage area to another, the handset must be re-synchronized with the new base station's time base. The transition must be handled in a timely manner to prevent a loss of information. Prior art techniques for retaining accurate time synchronization rely on a combination of software and hardware. These techniques suffer from timing errors and inhibit effective power management of the system. The timing errors result from errors introduced by software interaction with hardware, such as for example, interrupt latencies that delay software response to boundary conditions in the hardware. Also, uncertainties may be introduced when hardware counters are modified by software. Correcting these errors requires increased software complexity. In addition, power consumption may be higher than desirable because the system's central processing unit (CPU) must remain in an active state to execute the software component of the timing. Prior art techniques overcome these issues in hardware but require relatively large surface area on an integrated circuit to implement.
Therefore, the need exists for a communications system that eliminates the timing errors and decreases power consumption without increasing surface area on the integrated circuit, and the software which executes in the system is relatively easy to implement.